package com.chuangke.flow.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chuangke.common.db.page.CkPageQuery;
import com.chuangke.flow.domain.FlowMdNodeOrder;
import com.chuangke.flow.entity.FlowMdFlow;

import java.util.List;

public interface FlowDefineService {

	/**
	 * 创建流程
	 * @param flow
	 * @return
	 */
	FlowMdFlow save(FlowMdFlow flow) ;

	/**
	 * 删除流程
	 * @param ids
	 */
	void remove(List<String> ids) ;

	/**
	 * 删除缓存
	 * @param id
	 */
	void evictCache(String id) ;

	/**
	 * 加载流程
	 * @param id
	 * @return
	 */
	FlowMdFlow load(String id) ;
	
	/**
	 * 加载流程的顺序审批列表
	 * @param flowId
	 * @return
	 */
	List<FlowMdNodeOrder> getNodeListByOrder(String flowId) ;

	/**
	 * 分页查询
	 * @param pageQuery
	 * @return
	 */
	IPage<FlowMdFlow> page(CkPageQuery pageQuery) ;
	
}
